#ifndef __S_ARR_H__
#define __S_ARR_H__

// 引用头文件
#include "head.h"

// 数据关系
#define ARR_MAX_SIZ 10
typedef struct S_arr_list
{
    F_data * data;
    int len;  // 当前存储的有效数据长度
    int max;
}S_arr_list;


// 基本操作
//顺序表的创建：
S_arr_list * Init_S_arr_list(void);

// 顺序表尾部插入
int tail_insert_tail(S_arr_list * L , F_data data);
//顺序表的插入：  
/**
 * 插入 
 *      成功返回 0
 *      失败返回 EOF
*/
int pos_insert_list(S_arr_list * L , int index , F_data data);
// //顺序表的删除：
// 在删除的时候 如果要会传 指针类型 那么 就需要讲这个数据建立 动态空间
F_data tail_del_list(S_arr_list * L);
F_data pos_del_list(S_arr_list * L , int index);
// 按航班号删除
F_data id_del_list(S_arr_list *L, F_data data);
// //顺序表的查找：
int find_by_id(S_arr_list *L,int id);
// //顺序表的遍历：
int printf_S_arr_list(S_arr_list * L);
// 顺序表的判空： 为空 返回 0  不为空返回 1
int IsEmpty_S_arr_list(S_arr_list * L);
// 顺序表的清空：
void Clear_S_arr_list(S_arr_list * L);
// //顺序表的合并：
// Merge_S_arr_lists
//顺序表的扩容：
int Expand_S_arr_list( S_arr_list * L , int size );
// //顺序表的销毁：
void Destroy_S_arr_list(S_arr_list ** L);


#endif // __S_ARR_H__
